export class Course {
  courseName: string
  teacherName: string
  nowSignInCount: number
  className: string
  constructor(courseName: string, teacherName: string, nowSignInCount: number, className: string) {
    this.courseName = courseName
    this.teacherName = teacherName
    this.nowSignInCount = nowSignInCount
    this.className = className
  }
}

export class AddCourse {
  courseName: string
  ClassName: string
  constructor(courseName: string, ClassName: string) {
    this.courseName = courseName
    this.ClassName = ClassName
  }
}

export class AddCourseAttendance {
  layerId: number
  courseName: string
  constructor(layerId: number, courseName: string) {
    this.layerId = layerId
    this.courseName = courseName
  }
}

export interface OutCourse {
  courseName: string
}
export interface OutAttendance {
  courseName: string
  attendanceID: number
  date: string
}

export class CourseAttendanceStatisticalDate {
  courses: Array<OutCourse>
  attendances: Array<Array<OutAttendance>>
  constructor(courses: Array<OutCourse>, attendances: Array<Array<OutAttendance>>) {
    this.courses = courses
    this.attendances = attendances
  }
}

interface AbsentStudent {
  studentName: string
}

export class StudentAttendance {
  attended: number
  absent: number
  absentStudents: Array<AbsentStudent>
  constructor(attended: number, absent: number, absentStudents: Array<AbsentStudent>) {
    this.attended = attended
    this.absent = absent
    this.absentStudents = absentStudents
  }
}
